(*
   Copyright (c) 2022-2024 Semgrep Inc.

   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public License
   version 2.1 as published by the Free Software Foundation.

   This library is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the file
   LICENSE for more details.
*)
val is_space : Parser_cpp.token -> bool
val is_comment_or_space : Parser_cpp.token -> bool
val is_just_comment : Parser_cpp.token -> bool
val is_comment : Parser_cpp.token -> bool
val is_real_comment : Parser_cpp.token -> bool
val is_fake_comment : Parser_cpp.token -> bool
val is_not_comment : Parser_cpp.token -> bool
val is_pp_instruction : Parser_cpp.token -> bool
val is_eof : Parser_cpp.token -> bool
val is_statement : Parser_cpp.token -> bool
val is_start_of_something : Parser_cpp.token -> bool
val is_binary_operator : Parser_cpp.token -> bool
val is_stuff_taking_parenthized : Parser_cpp.token -> bool
val is_static_cast_like : Parser_cpp.token -> bool
val is_basic_type : Parser_cpp.token -> bool
val is_binary_operator_except_star : Parser_cpp.token -> bool
val is_struct_like_keyword : Parser_cpp.token -> bool
val is_classkey_keyword : Parser_cpp.token -> bool
val is_cpp_keyword : Parser_cpp.token -> bool
val is_really_cpp_keyword : Parser_cpp.token -> bool
val is_maybenot_cpp_keyword : Parser_cpp.token -> bool
val is_privacy_keyword : Parser_cpp.token -> bool
val is_opar : Parser_cpp.token -> bool
val is_cpar : Parser_cpp.token -> bool
val is_obrace : Parser_cpp.token -> bool
val is_cbrace : Parser_cpp.token -> bool
val is_ident_like : Parser_cpp.token -> bool
val token_kind_of_tok : Parser_cpp.token -> Lib_ast_fuzzy.token_kind
val info_of_tok : Parser_cpp.token -> Tok.t

val visitor_info_of_tok :
  (Tok.t -> Tok.t) -> Parser_cpp.token -> Parser_cpp.token

val line_of_tok : Parser_cpp.token -> int
